package com.xbts.system.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xbts.system.domain.CnOrderItem;
import com.xbts.system.domain.dto.CnOrderItemReviewDTO;
import com.xbts.system.domain.vo.CnOrderItemReviewVO;
import com.xbts.system.domain.vo.CnOrderStatisticsVO;

/**
 * 子订单Service接口
 * 
 * @author xbts
 * @date 2023-08-03
 */
public interface ICnOrderItemService  extends IService<CnOrderItem> {

    /**
     * 查询子订单列表
     *
     * @param cnOrderItem 子订单
     * @return 子订单集合
     */
     List<CnOrderItem> selectCnOrderItemList(CnOrderItem cnOrderItem);

    /**
     * 查询子订单
     *
     * @param orderItemId 子订单主键
     * @return 子订单
     */
     CnOrderItem selectCnOrderItemByOrderItemId(String orderItemId);


    /**
     * 新增子订单
     *
     * @param cnOrderItem 子订单
     * @return 结果
     */
     boolean insertCnOrderItem(CnOrderItem cnOrderItem);

    /**
     * 修改子订单
     *
     * @param cnOrderItem 子订单
     * @return 结果
     */
     boolean updateCnOrderItem(CnOrderItem cnOrderItem);

    /**
     * 批量删除子订单
     *
     * @param orderItemIds 需要删除的子订单主键集合
     * @return 结果
     */
     boolean deleteCnOrderItemByOrderItemIds(List<String> orderItemIds);

    /**
     * 删除子订单信息
     *
     * @param orderItemId 子订单主键
     * @return 结果
     */
     boolean deleteCnOrderItemByOrderItemId(String orderItemId);

    /**
     * 子订单统计
     * @param cnOrderItem
     * @return
     */
    CnOrderStatisticsVO statisticsList(CnOrderItem cnOrderItem);


    /**
     * 查询审核列表
     * @param orderItemReviewDTO
     * @return
     */
    List<CnOrderItemReviewVO> reviewList(CnOrderItemReviewDTO orderItemReviewDTO);
}
